// 大屏模块对 axios 请求响应封装
import axios from "axios";
import { ElNotification } from "element-plus";
import router from "@/router/index";
import store from "@/store";

const isDevUrl =
  process.env.NODE_ENV === "development"
    ? "/screenApi"
    : "http://116.169.61.207:15115/";

// 创建 axios 实例
const service = axios.create({
  baseURL: isDevUrl,
  timeout: 30000,
});

// 请求拦截器
service.interceptors.request.use(
  function (config) {
    // 为每个请求携带 Appkey - 接口要求
    config.headers.Appkey = "CCA6D98A01944B0E88AA29BE3DD09CD3";
    // 这里必须将config返回出去，否则请求会停在这里
    return config;
  },
  function (error) {
    // 如果请求出错，在请求发出之前，就会进入这里
    return Promise.reject(error);
  }
);

// 响应拦截器
service.interceptors.response.use(
  function (response) {
    return response.data[0];
  },
  async function (error) {
    // if (!store.state.user.accessToken) {
    //   ElNotification.error({
    //     message: "您的登录状态已失效,请重新登录!",
    //   });
    //   store.commit("RESET_STATE");
    //   setTimeout(() => {
    //     router.push("/login");
    //   }, 2000);
    // } else {
    //   ElNotification.error({
    //     message: "服务器异常，请联系管理员！",
    //   });
    // }
    return Promise.reject(error);
  }
);

export const post = (url, data) => { 
    return new Promise((resolve, reject) => {
      service({
        method: "Post",
        url,
        data,
      }).then(resolve).catch(reject);
    });
  };
export const get = (url, params) => {
  return new Promise((resolve, reject) => {
    service({
      method: "Get",
      url,
      params,
    }).then(resolve).catch(reject);
  });
};
export default service;
